Coverage Metrics for Saturation-Based and Search-Based Testing of Concurrent Software
نویسندگان
چکیده
Coverage metrics play a crucial role in testing. They allow one to estimate how well a program has been tested and/or to control the testing process. Several concurrency-related coverage metrics have been proposed, but most of them do not reflect concurrent behaviour accurately enough. In this paper, we propose several new metrics that are suitable primarily for saturation-based or search-based testing of concurrent software. Their distinguishing feature is that they are derived from various dynamic analyses designed for detecting synchronisation errors in concurrent software. In fact, the way these metrics are obtained is generic, and further metrics can be obtained in a similar way from other analyses. The underlying motivation is that, within such analyses, behavioural aspects crucial for occurrence of various bugs are identified, and hence it makes sense to track how well the occurrence of such phenomena is covered by testing. Next, coverage tasks of the proposed as well as some existing metrics are combined with an abstract identification of the threads participating in generation of the phenomena captured in the concerned tasks. This way, further, more precise metrics are obtained. Finally, an empirical evaluation of the proposed metrics, which confirms that several of them are indeed more suitable for saturation-based and search-based testing than the previously known metrics, is presented.
منابع مشابه
Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...
متن کاملReview of ranked-based and unranked-based metrics for determining the effectiveness of search engines
Purpose: Traditionally, there have many metrics for evaluating the search engine, nevertheless various researchers’ proposed new metrics in recent years. Aware of this new metrics is essential to conduct research on evaluation of the search engine field. So, the purpose of this study was to provide an analysis of important and new metrics for evaluating the search engines. Methodology: This is ...
متن کاملNondeterministic Coverage Metrics as Key Performance Indicator for Model- and Value-based Testing
Assessing the testing or software development process by only using KPIs can easily be misleading. A better solution is a paradigm shift to value-based software engineering, which integrates value considerations into software engineering and offers a broader and more technical view on KPIs. Coverage metrics are such a technical view and a very helpful KPI. This paper combines value-based testin...
متن کاملTesting Strategies for Model-Based Development
Model-based software development offers new opportunities and challenges for validation and verification of safety-critical software. Since models have well-defined syntax and semantics, it is possible to test models as well as source code and to define structural coverage metrics over models. Further, given a formal description of requirements, it is possible to use automated tools to check wh...
متن کاملAdvances in noise-based testing of concurrent software
Testing of concurrent software written in programming languages like Java and C/C++ is a highly challenging task due to the many possible interactions among threads. A simple, cheap, and effective approach that addresses this challenge is testing with noise injection which influences the scheduling so that different interleavings of concurrent actions are witnessed. In this paper, multiple resu...
متن کامل